MongoDB mongosh Update

ஆவணங்களைப் புதுப்பித்தல்

ஆவணத்தைப் புதுப்பித்தல்

ஏற்கனவே உள்ள ஒரு ஆவணத்தைப் புதுப்பிக்க updateOne() அல்லது updateMany() முறைகளைப் பயன்படுத்தலாம்.

முதல் அளவுரு எந்த ஆவணம் அல்லது ஆவணங்கள் புதுப்பிக்கப்பட வேண்டும் என வரையறுக்கும் ஒரு குவேரி பொருளாகும்.

இரண்டாவது அளவுரு புதுப்பிக்கப்பட்ட தரவை வரையறுக்கும் ஒரு பொருளாகும்.

updateOne()

updateOne() முறை வழங்கப்பட்ட குவேரியுடன் பொருந்தக்கூடிய முதல் ஆவணத்தைப் புதுப்பிக்கும்.

"Post Title 1" என்ற தலைப்பைக் கொண்ட போஸ்ட்டிற்கான "like" எண்ணிக்கை என்னவென்று பார்ப்போம்:

எடுத்துக்காட்டு

db.posts.find( { title: "Post Title 1" } )

இப்போது இந்த போஸ்ட்டில் உள்ள "likes" ஐ 2 ஆகப் புதுப்பிப்போம். இதைச் செய்ய, $set ஆபரேட்டரைப் பயன்படுத்த வேண்டும்.

எடுத்துக்காட்டு

db.posts.updateOne( { title: "Post Title 1" }, { $set: { likes: 2 } } )

ஆவணத்தை மீண்டும் சரிபார்க்கவும், "like" புதுப்பிக்கப்பட்டதை நீங்கள் காண்பீர்கள்.

எடுத்துக்காட்டு

db.posts.find( { title: "Post Title 1" } )

கண்டறியவில்லை என்றால் செருகவும்

ஆவணம் கண்டறியப்படவில்லை என்றால் அதைச் செருக விரும்பினால், upsert விருப்பத்தைப் பயன்படுத்தலாம்.

எடுத்துக்காட்டு

ஆவணத்தைப் புதுப்பிக்கவும், ஆனால் கண்டறியப்படவில்லை என்றால் செருகவும்:

db.posts.updateOne( 
  { title: "Post Title 5" }, 
  {
    $set: 
      {
        title: "Post Title 5",
        body: "Body of post.",
        category: "Event",
        likes: 5,
        tags: ["news", "events"],
        date: Date()
      }
  }, 
  { upsert: true }
)

updateMany()

updateMany() முறை வழங்கப்பட்ட குவேரியுடன் பொருந்தக்கூடிய அனைத்து ஆவணங்களையும் புதுப்பிக்கும்.

எடுத்துக்காட்டு

அனைத்து ஆவணங்களிலும் likes ஐ 1 ஆகப் புதுப்பிக்கவும். இதற்காக $inc (increment) ஆபரேட்டரைப் பயன்படுத்துவோம்:

db.posts.updateMany({}, { $inc: { likes: 1 } })

இப்போது அனைத்து ஆவணங்களிலும் உள்ள likes ஐ சரிபார்க்கவும், அவை அனைத்தும் 1 ஆக அதிகரிக்கப்பட்டதை நீங்கள் காண்பீர்கள்.

பயிற்சி

MongoDB இல் ஒரு ஆவணம் கண்டறியப்படவில்லை என்றால் அதைச் செருக எந்த விருப்பம் பயன்படுத்தப்படுகிறது?

insertIfNotFound
✗ தவறு! insertIfNotFound என்பது MongoDB இல் ஒரு செல்லுபடியாகும் விருப்பம் அல்ல
upsert
✓ சரி! upsert விருப்பம் ஆவணம் கண்டறியப்படவில்லை என்றால் அதைச் செருக பயன்படுகிறது
createIfMissing
✗ தவறு! createIfMissing என்பது MongoDB இல் ஒரு செல்லுபடியாகும் விருப்பம் அல்ல
insertOrUpdate
✗ தவறு! insertOrUpdate என்பது MongoDB இல் ஒரு செல்லுபடியாகும் விருப்பம் அல்ல